package cc.rengu.igas.bomp.common.dao;

import cc.rengu.igas.bomp.common.entity.MchntLevelInfo;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

/**
 * 商户等级正式表操作接口类
 * Created by 赵奎伍 on 2020/3/25
 */
public interface MchntLevelInfoMapper {
    /**
     * 根据多法人标识查询商户等级信息
     *
     * @param instId 多法人标识
     * @return 商户等级信息
     * @throws Exception 异常
     */
    PageResult selectMchntLevelInfoByInstIdByPage(String instId, PageInfo pageInfo) throws Exception;

    /**
     * 根据多法人标识查询商户等级信息
     *
     * @param instId 多法人标识
     * @return 商户等级信息
     * @throws Exception 异常
     */
    List<MchntLevelInfo> selectMchntLevelInfoByInstId(String instId) throws Exception;

    /**
     * 根据商户等级与商户等级名称查询商户等级信息
     *
     * @param instId         多法人标识
     * @param mchntLevel     商户等级
     * @param mchntLevelName 商户等级名称
     * @return 商户等级信息
     * @throws Exception 异常
     */
    PageResult selectMchntLevelInfoByMchntLevelOrMchntLevelNameByPage(String instId, String mchntLevel, String mchntLevelName, PageInfo pageInfo) throws Exception;

    /**
     * 根据商户等级与商户等级名称查询商户等级信息
     *
     * @param instId         多法人标识
     * @param mchntLevel     商户等级
     * @param mchntLevelName 商户等级名称
     * @return 商户等级信息
     * @throws Exception 异常
     */
    List<MchntLevelInfo> selectMchntLevelInfoByMchntLevelOrMchntLevelName(String instId, String mchntLevel, String mchntLevelName) throws Exception;

    /**
     * 根据商户等级编码查询商户等级信息
     *
     * @param instId         多法人标识
     * @param mchntLevelCode 商户等级编码
     * @return 商户等级信息
     * @throws Exception 异常
     */
    MchntLevelInfo selectMchntLevelInfoByMchntLevelCode(String instId, String mchntLevelCode) throws Exception;
}
